package com.gwt.material.client.user.po;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 *  实体类。
 *
 * @author zbr
 * @since 2024-08-26
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(value = "t_wechat_user")
public class WechatUser implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @Id
    private String id;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;

    /**
     * 微信的OpenID
     */
    private String openId;

    /**
     * 如果多个公众号或小程序属于同一个微信开放平台账号，则unionid相同
     */
    private String unionId;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 头像URL
     */
    private String headImgUrl;

    /**
     * 性别，0为未知，1为男，2为女
     */
    private Integer gender;

    /**
     * 国家
     */
    private String country;

    /**
     * 省份
     */
    private String province;

    /**
     * 城市
     */
    private String city;

    /**
     * 访问令牌
     */
    private String accessToken;

    /**
     * 刷新令牌
     */
    private String refreshToken;

    /**
     * 访问令牌有效期
     */
    private Long expiresIn;

}
